Function at 0x10047824
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
mov dword [ebp - 0x1c], 0xfffffffd
xor ebx, ebx
push edi
mov dword [ebp - 0x1c], 0x8876
xor edi, edi
mov dword [ebp - 0x18], ebx
mov esi, ecx
mov dword [ebp - 0x10], ebx
inc edi
jmp 0x10047858
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2c], 0x3fcb50bf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1004784a
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10047880
push ebx
push 0x26d7
push 0x11fb
push 0x144d
push 0x1448
call dword [sym.imp.GDI32.dll_CreateBitmap]
dec dword [ebp - 0x18]
push 0x7fe6
push edi
push esi
push 0x44ef
push 0x7cd9
call fcn.10042cf2
mov dword [ebp - 8], 0xffffffff
mov eax, 0xbc4d5916
mov dword [ebp - 0x18], 0x95e04a27
add esp, 0x14
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
push 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 8], ebx
pop ecx
jmp 0x100478e2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x50], 0x29be1d92
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x100478d4
mov dword [ebp - 8], ebx
jmp 0x100478fa
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x70], 3
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x100478ec
push 2
mov dword [ebp - 8], ebx
pop ecx
jmp 0x10047911
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x34], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10047907
mov eax, dword [ebp - 0x50]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jne 0x100479ea
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x50], ebx
jge 0x10047939
cmp dword [ebp - 0x4c], ebx
jne 0x10047939
mov ecx, ebx
cmp dword [ebp - 8], ebx
je 0x1004793b
mov ecx, edi
mov eax, dword [ebp - 8]
imul eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jne 0x10047959
mov ecx, ebx
cmp dword [ebp - 8], ebx
je 0x1004795b
mov ecx, edi
xor eax, eax
cmp ecx, 0xa012
setg al
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x18], eax
je 0x10047973
cmp dword [ebp - 8], ebx
jne 0x1004797a
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004797c
mov eax, edi
mov dword [ebp - 0x10], eax
xor edx, edx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setl bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x48]
setl cl
xor ebx, ebx
imul eax, ecx
neg eax
je 0x100479b3
mov eax, edi
cmp dword [ebp - 0x10], ebx
jne 0x100479b5
mov eax, ebx
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x50]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setne cl
xor edx, edx
cmp ecx, edi
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x34]
jge 0x100479e6
cmp dword [ebp - 0x34], ebx
jne 0x100479ea
mov eax, ebx
jmp 0x100479ec
mov eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], edi
cmp dword [ebp - 8], ebx
jl 0x10047b11
mov dword [ebp - 0x1c], 0x2d949044
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0xedfd6825
mov dword [ebp - 0x14], 0xf73ecb6a
mov dword [ebp - 0x10], ebx
jmp 0x10047a2c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10047a1e
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0xc], ebx
jl 0x10047b08
mov dword [ebp - 0x18], 0x76a95236
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0x5f67326d
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x34], ebx
jne 0x10047a78
mov dword [ebp - 0x10], 0x293
mov ecx, 0xffff
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x4c]
sub ecx, eax
add ecx, dword [ebp - 0x10]
mov ecx, ebx
je 0x10047a7a
mov ecx, edi
mov dword [ebp - 0x18], 0xf1e73e4f
xor edx, edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov dword [ebp - 0x38], eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
sub edx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setle cl
imul ecx, ecx, 0x2d6a
sub ecx, dword [ebp + eax*4 - 0x4c]
mov eax, 0xb93b5720
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0xc]
sbb ecx, ecx
neg ecx
imul ecx, dword [ebp + eax*4 - 0x4c]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], ebx
jmp 0x10047af9
mov dword [ebp - 0x18], 0x15d11e90
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10047af3
push ebx
push 0x15db
push ebx
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
dec dword [ebp - 0x18]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
jg 0x10047ad6
dec dword [ebp - 0xc]
jns 0x10047a3e
dec dword [ebp - 8]
jns 0x10047a01
push esi
call fcn.1002db89
mov dword [ebp - 0x1c], 0xca4f
xor esi, esi
mov dword [ebp - 0x18], 0xf14c90d2
inc esi
mov dword [ebp - 0x10], esi
mov edi, eax
mov dword [ebp - 0xc], 0x471dfd94
pop ecx
mov dword [ebp - 8], ebx
jmp 0x10047b48
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x28], 0xac31e13c
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10047b3a
cmp dword [ebp - 0x1c], ebx
je 0x10047b88
mov dword [ebp - 0x1c], 0xd6887694
mov dword [ebp - 0x10], ebx
jmp 0x10047b6c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x20], 0x48708ef6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10047b5e
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10047b80
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x10047be7
mov dword [ebp - 0x14], 0xc11e043
mov dword [ebp - 8], ebx
jmp 0x10047ba2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x24], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10047b94
inc dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0xdfb
setge al
cmp esi, 0xfffffff6
sbb ecx, ecx
inc ecx
sub ecx, eax
neg ecx
sbb ecx, ecx
xor esi, esi
inc ecx
inc esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], ebx
jmp 0x10047c03
mov dword [ebp - 0xc], ebx
jmp 0x10047bfb
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x28], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x10047bf1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10047bec
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret