Function at 0x4ad43a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov ecx, dword [ebp + 8]
xor eax, eax
push ebx
mov ebx, dword [ecx]
push esi
push edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x44], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], eax
mov byte [esp + 0x17], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], 1
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
cmp dword [ecx + 0x40], eax
jne 0x4ad93b
cmp byte [ebx + 0x40], al
jne 0x4ad93b
mov ecx, dword [ebp + 0x10]
cmp ecx, eax
je 0x4ad4f6
test byte [ecx + 6], 0x80
je 0x4ad4f6
cmp dword [ecx + 0x34], eax
jne 0x4ad4f6
mov esi, ecx
mov eax, dword [esi]
mov edi, ebx
mov dword [esp + 0x54], eax
mov dword [esi], 0
call fcn.0044998a
mov dword [ebp + 0x10], 0
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x10], eax
je 0x4ad93b
mov esi, dword [ebp + 8]
call fcn.0045e2ea
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x4ad93b
mov esi, dword [edi + 0x44]
mov ecx, ebx
call fcn.0042cb6a
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x1c], eax
add eax, eax
mov eax, dword [edx + eax*8]
push eax
mov eax, dword [edi]
push 0
push eax
mov eax, dword [ebp + 8]
push 0x12
call fcn.0045920a
add esp, 0x10
test eax, eax
jne 0x4ad93b
mov al, byte [edi + 0x2c]
mov esi, dword [ebp + 8]
shr al, 5
lea ecx, [esp + 0x20]
push ecx
and al, 1
mov byte [esp + 0x4f], al
push 0
push 0x6c
mov edx, edi
mov eax, esi
call fcn.004409ca
xor edx, edx
add esp, 0xc
cmp dword [edi + 0xc], edx
mov dword [esp + 0x68], eax
setne dl
mov eax, edi
mov ecx, esi
mov dword [esp + 0x74], edx
call fcn.0047685a
test eax, eax
jne 0x4ad93b
mov eax, dword [esp + 0x20]
mov ecx, edi
push eax
mov edi, esi
call fcn.00452d0a
add esp, 4
test eax, eax
jne 0x4ad93b
mov ebx, edi
call fcn.00457daa
mov edi, eax
mov dword [esp + 0x4c], edi
test edi, edi
je 0x4ad937
cmp byte [esi + 0x12], 0
jne 0x4ad5c6
or dword [edi + 0x58], 0x10
cmp dword [ebp + 0x10], 0
jne 0x4ad5d7
cmp dword [esp + 0x68], 0
jne 0x4ad5d7
xor eax, eax
jmp 0x4ad5dc
mov eax, 1
mov ebx, dword [esp + 0x1c]
push eax
mov ecx, ebx
mov eax, esi
call fcn.0049997a
add esp, 4
cmp dword [ebp + 0x14], 0
jne 0x4ad613
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [esp + 0x14]
push ecx
push ebx
push esi
call fcn.00498a7a
add esp, 0x10
test eax, eax
jne 0x4ae7c6
jmp 0x4ad617
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push edx
mov edx, esi
call fcn.00446eca
movsx edx, word [ebx + 0x26]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x48]
lea ecx, [eax + 1]
lea eax, [edx + eax + 1]
add esp, 4
mov dword [esi + 0x48], eax
test byte [ebx + 0x2c], 0x10
mov dword [esp + 0x80], ecx
mov dword [esp + 0x38], ecx
je 0x4ad655
inc ecx
inc eax
mov dword [esp + 0x38], ecx
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 0x14]
inc eax
xor ebx, ebx
mov dword [esp + 0x60], eax
cmp ecx, ebx
je 0x4ad765
xor eax, eax
cmp dword [ecx + 4], ebx
jle 0x4ad68a
jmp 0x4ad67a
mov edx, dword [ecx]
mov dword [edx + eax*8 + 4], 0xffffffff
inc eax
cmp eax, dword [ecx + 4]
jl 0x4ad67a
mov dword [esp + 0x18], ebx
cmp dword [ecx + 4], ebx
jle 0x4ad765
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x26]
xor ebx, ebx
mov dword [esp + 0x30], eax
test eax, eax
jle 0x4ad70e
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + eax*8]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.00430bea
add esp, 8
test eax, eax
je 0x4ad6ea
inc ebx
add esi, 0x18
cmp ebx, dword [esp + 0x30]
jl 0x4ad6ca
jmp 0x4ad70e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov dword [edx + 4], ebx
cmp eax, ebx
je 0x4ad6fe
mov byte [esp + 0x2a], 0
mov ecx, dword [esp + 0x10]
movsx edx, word [ecx + 0x24]
cmp ebx, edx
jne 0x4ad70e
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
movsx ecx, word [eax + 0x26]
cmp ebx, ecx
jl 0x4ad74b
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx]
mov eax, dword [esp + 0x18]
mov esi, dword [edx + eax*8]
call fcn.0043625a
test eax, eax
je 0x4ad912
cmp byte [esp + 0x4b], 0
jne 0x4ad912
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], ecx
mov byte [esp + 0x2a], 0
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x14]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [edx + 4]
jl 0x4ad69a
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
je 0x4ad9cd
mov ebx, dword [ebp + 8]
inc dword [ebx + 0x48]
mov eax, dword [edi + 0x20]
mov ecx, dword [ebx + 0x48]
inc eax
push eax
push 0
push ecx
push 0x14
mov esi, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], eax
call fcn.0044e1fa
movzx edx, byte [esp + 0x3a]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
neg edx
sbb edx, edx
and edx, dword [esp + 0x70]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], ecx
mov word [esp + 0x94], 0xd
movsx ecx, word [eax + 0x26]
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x94]
push edx
push eax
push ebx
mov dword [esp + 0xac], ecx
call fcn.00496aba
mov ecx, dword [esp + 0xa8]
add esp, 0x1c
mov dword [esp + 0x64], ecx
test eax, eax
jne 0x4ad937
mov edx, dword [esp + 0x24]
cmp byte [edx + 0x40], al
jne 0x4ad937
mov eax, dword [esp + 0x2c]
push eax
push 0x15
call fcn.00454eea
mov eax, dword [esp + 0x3c]
add esp, 8
dec eax
mov edx, edi
call fcn.00436cca
cmp dword [esp + 0x68], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x30], eax
jne 0x4ad852
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
push ecx
mov eax, ebx
call fcn.0045826a
add esp, 4
mov edi, esi
test eax, eax
je 0x4ada66
mov edx, dword [ebx + 0x44]
lea eax, [edx + 1]
mov ecx, ebx
mov byte [esp + 0x17], 1
mov dword [esp + 0x44], edx
mov dword [ebx + 0x44], eax
call fcn.0042d22a
mov dword [esp + 0x1c], eax
call fcn.0042d22a
mov ecx, dword [esp + 0x30]
push ecx
push edx
push 0x38
mov esi, edi
mov dword [esp + 0x24], eax
call fcn.00454e8a
mov edx, dword [esp + 0x94]
add esp, 0xc
push edx
push 0x16
call fcn.00454eea
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
push eax
push ecx
push edx
push 0x30
call fcn.0044e1fa
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
push eax
push ecx
push 0x46
call fcn.00454e8a
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x68]
add esp, 0x24
push edx
push eax
push ecx
push 0x49
call fcn.0044e1fa
mov edx, dword [esp + 0x3c]
push edx
push 0
push 0x10
call fcn.00454e8a
mov eax, dword [esp + 0x48]
add esp, 0x1c
mov edx, edi
call fcn.00436cca
mov esi, dword [esp + 0x1c]
mov edx, ebx
call fcn.0042d1fa
mov esi, dword [esp + 0x18]
call fcn.0042d1fa
jmp 0x4ada66
mov eax, dword [ebx]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push edx
push 0
push eax
push 0x100b0bdc
push esi
call fcn.0044ea7a
add esp, 0x14
mov byte [esi + 0x11], 1
mov ebx, dword [esp + 0x24]
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, ebx
call fcn.00443b3a
mov edx, dword [esp + 0x58]
add esp, 4
push edx
push ebx
call fcn.0044d58a
mov esi, dword [ebp + 0x10]
add esp, 8
test esi, esi
je 0x4ad971
push esi
push ebx
call fcn.00446e3a
add esp, 8
mov eax, esi
mov ecx, ebx
call fcn.0043e91a
mov edi, dword [ebp + 0x14]
mov esi, ebx
call fcn.00440c0a
cmp dword [esp + 0x58], 0
je 0x4ae8d6
mov eax, dword [esp + 0x58]
test ebx, ebx
je 0x4ae8cd
cmp dword [ebx + 0x200], 0
je 0x4ae8a2
cmp eax, dword [ebx + 0x10c]
jb 0x4ae889
cmp eax, dword [ebx + 0x110]
jae 0x4ae889
movzx eax, word [ebx + 0xf0]
mov ebx, dword [ebx + 0x200]
add dword [ebx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x98], esi
mov dword [esp + 0x44], 0xffffffff
cmp eax, ebx
je 0x4ada26
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jmp 0x4ada2a
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], ebx
jle 0x4ada66
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x1c]
mov edi, dword [edx + eax]
lea esi, [esp + 0x98]
call fcn.00467b9a
test eax, eax
jne 0x4ad937
add dword [esp + 0x1c], 0x18
inc ebx
cmp ebx, dword [esp + 0x30]
jl 0x4ada34
mov edi, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x14]
mov esi, dword [esp + 0x30]
xor edx, edx
cmp ecx, edx
jne 0x4ada85
cmp esi, edx
jle 0x4ada85
mov eax, dword [esp + 0x10]
movsx ebx, word [eax + 0x24]
mov dword [esp + 0x50], ebx
jmp 0x4ada89
mov eax, dword [esp + 0x10]
test byte [eax + 0x2c], 0x10
je 0x4adb18
movsx ecx, word [eax + 0x26]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
cmp ecx, 2
jl 0x4adada
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
add ecx, 0xfffffffe
shr ecx, 1
add eax, 0x2f
inc ecx
lea edx, [ecx + ecx]
movzx esi, byte [eax - 0x18]
shr esi, 1
and esi, 1
add dword [esp + 0x18], esi
movzx esi, byte [eax]
shr esi, 1
and esi, 1
add dword [esp + 0x1c], esi
add eax, 0x30
dec ecx
jne 0x4adab7
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
movsx eax, word [ecx + 0x26]
cmp edx, eax
jge 0x4adb05
mov ecx, dword [ecx + 4]
lea eax, [edx + edx*2]
movzx eax, byte [ecx + eax*8 + 0x17]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x14]
shr eax, 1
and eax, 1
add eax, edx
jmp 0x4adb1a
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x14]
add eax, edx
jmp 0x4adb1a
mov eax, edx
test ecx, ecx
jne 0x4adb4e
test esi, esi
je 0x4adb6d
mov edx, dword [esp + 0x10]
movsx ecx, word [edx + 0x26]
sub ecx, eax
cmp esi, ecx
je 0x4adb6d
mov eax, dword [ebp + 0xc]
push esi
push ecx
mov ecx, dword [ebp + 8]
push 0
push eax
push 0x100b0bfc
push ecx
call fcn.0044ea7a
add esp, 0x18
jmp 0x4ad937
mov eax, dword [ecx + 4]
cmp esi, eax
je 0x4adb6d
mov edx, dword [ebp + 8]
push eax
push esi
push 0x100b0c30
push edx
call fcn.0044ea7a
add esp, 0x10
jmp 0x4ad937
mov eax, dword [esp + 0x24]
test byte [eax + 0x18], 0x80
je 0x4adb96
mov eax, dword [ebp + 8]
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0x19
mov esi, edi
mov dword [esp + 0x88], eax
call fcn.00454e8a
add esp, 0xc
cmp dword [esp + 0x74], 0
jne 0x4adbfc
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x60]
push edx
push 0
push 0xffffffffffffffff
push 0x36
push eax
push ecx
call fcn.004759da
mov esi, dword [esp + 0x40]
mov ebx, eax
add esp, 0x1c
lea ecx, [ebx*4 + 4]
call fcn.00444b5a
mov dword [esp + 0x58], eax
test eax, eax
je 0x4ae882
xor eax, eax
test ebx, ebx
jle 0x4adbfc
mov ecx, dword [ebp + 8]
jmp 0x4adbea
inc dword [ecx + 0x48]
mov edx, dword [ecx + 0x48]
mov esi, dword [esp + 0x58]
mov dword [esi + eax*4], edx
inc eax
cmp eax, ebx
jl 0x4adbea
cmp byte [esp + 0x17], 0
je 0x4adc1d
mov edx, dword [esp + 0x44]
push edx
push 0x6a
mov esi, edi
call fcn.00454eea
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0x20]
jmp 0x4adc3b
cmp dword [ebp + 0x10], 0
je 0x4adc42
mov ecx, dword [esp + 0x88]
push ecx
push 0x16
mov esi, edi
call fcn.00454eea
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], eax
add esp, 8
mov eax, edi
call fcn.0044e18a
test byte [esp + 0x20], 1
mov dword [esp + 0x1c], eax
je 0x4adf99
mov edx, dword [esp + 0x10]
movsx eax, word [edx + 0x26]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
inc eax
mov dword [esp + 0x3c], ebx
cmp eax, edx
jg 0x4adc7f
lea esi, [ebx + eax]
sub edx, eax
mov dword [ecx + 0x3c], esi
mov dword [ecx + 0x38], edx
jmp 0x4adc90
mov edx, dword [ecx + 0x48]
lea esi, [edx + 1]
add edx, eax
mov dword [esp + 0x3c], esi
mov dword [ecx + 0x48], edx
mov ebx, esi
mov eax, dword [esp + 0x50]
push ebx
test eax, eax
jns 0x4adca9
push 0xffffffffffffffff
push 0x19
mov esi, edi
call fcn.00454e8a
add esp, 0xc
jmp 0x4add28
cmp byte [esp + 0x1b], 0
je 0x4adcc8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push 0x2e
mov esi, edi
call fcn.0044e1fa
add esp, 0x10
jmp 0x4adcdf
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx*8]
push edx
push ecx
call fcn.004a85ea
add esp, 0xc
push ebx
push 0x4d
mov esi, edi
call fcn.00454eea
push ebx
push 0xffffffffffffffff
push 0x19
mov dword [esp + 0x34], eax
call fcn.00454e8a
mov eax, dword [edi + 0x20]
add esp, 0x14
cmp eax, dword [esp + 0x20]
jbe 0x4add11
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
push ebx
push 0x26
mov esi, edi
mov dword [ecx + 0x58], eax
call fcn.00454eea
add esp, 8
mov ecx, dword [esp + 0x10]
xor edx, edx
xor eax, eax
mov dword [esp + 0x18], edx
cmp ax, word [ecx + 0x26]
jge 0x4adf29
mov dword [esp + 0x2c], edx
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x4add4d
mov esi, edx
jmp 0x4add6a
mov ecx, dword [eax + 4]
xor esi, esi
test ecx, ecx
jle 0x4add6a
mov eax, dword [eax]
add eax, 4
cmp dword [eax], edx
je 0x4add67
inc esi
add eax, 8
cmp esi, ecx
jl 0x4add5b
mov eax, dword [ebp + 0x14]
mov cl, byte [esp + 0x17]
test cl, cl
jne 0x4add79
cmp dword [esp + 0x54], 0
je 0x4add8a
test eax, eax
je 0x4ade8e
cmp esi, dword [eax + 4]
jl 0x4ade8e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax + 4]
test eax, eax
je 0x4ade07
cmp byte [eax], 0x9f
jne 0x4ade07
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
mov eax, dword [esi + 0x20]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x34], eax
cmp dword [ecx + 0x54], eax
jg 0x4addd7
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4adf0b
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 4]
inc dword [esi + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
lea ecx, [ebx + edx + 1]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x21
jmp 0x4adf0b
mov edx, dword [esp + 0x18]
lea esi, [ebx + edx + 1]
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004a6c6a
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x34], ecx
cmp ecx, esi
je 0x4adf0b
mov edx, dword [ebp + 8]
mov esi, dword [edx + 8]
test esi, esi
je 0x4adf0b
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x20], eax
cmp dword [edx + 0x54], eax
jg 0x4ade61
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4adf0b
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 4]
inc dword [esi + 0x20]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ebx + ecx + 1]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x22
jmp 0x4adf0b
test cl, cl
je 0x4adee5
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x34], eax
cmp dword [ecx + 0x54], eax
jg 0x4adeb6
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4adf0b
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x44]
lea edx, [ebx + edx + 1]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x2e
jmp 0x4adf0b
mov eax, dword [esp + 0x18]
lea ecx, [ebx + eax + 1]
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
lea edx, [esi + esi*2]
mov ebx, dword [ecx + edx*8]
push eax
call fcn.004aabaa
mov ebx, dword [esp + 0x44]
add esp, 8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
movsx eax, word [ecx + 0x26]
add dword [esp + 0x2c], 0x18
inc edx
mov dword [esp + 0x18], edx
cmp edx, eax
jl 0x4add42
cmp dword [esp + 0x74], 0
jne 0x4adf4a
mov edi, dword [esp + 0x10]
inc ebx
push ebx
mov ebx, dword [esp + 0x50]
call fcn.0045834a
mov ebx, dword [esp + 0x40]
add esp, 4
mov esi, edi
jmp 0x4adf4e
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
movsx eax, word [esi + 0x26]
mov edx, dword [ebp + 0x18]
push ecx
push edx
mov edx, dword [esp + 0x70]
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp + 8]
dec ecx
push ecx
push esi
push 1
push 0
push 0x6c
push edx
push eax
call fcn.004b00aa
movsx esi, word [esi + 0x26]
mov eax, dword [ebp + 8]
inc esi
add esp, 0x24
mov ecx, esi
mov edi, ebx
call fcn.0043615a
mov edi, dword [esp + 0x4c]
cmp esi, dword [eax + 0x38]
jle 0x4adf99
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], ebx
cmp dword [esp + 0x74], 0
jne 0x4ae53f
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x2c], 0x10
je 0x4adff2
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x4adfc6
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4adff2
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x80]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x1c
jmp 0x4adff4
xor ecx, ecx
cmp dword [esp + 0x50], ecx
jl 0x4ae131
cmp byte [esp + 0x17], 0
mov ebx, dword [esp + 0x38]
push ebx
je 0x4ae084
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push 0x2e
mov esi, edi
call fcn.0044e1fa
add esp, 0x10
mov esi, dword [esp + 0x10]
test byte [esi + 0x2c], 0x10
jne 0x4ae110
push ebx
push 0x4d
mov esi, edi
call fcn.00454eea
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
push eax
push ebx
push ecx
push 0x46
call fcn.0044e1fa
mov eax, dword [edi + 0x20]
add esp, 0x18
cmp eax, dword [esp + 0x20]
jbe 0x4ae068
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
dec edx
push ebx
push 0x26
mov esi, edi
mov dword [eax + 0x58], edx
call fcn.00454eea
add esp, 8
jmp 0x4ae177
cmp dword [ebp + 0x10], ecx
je 0x4ae0a0
mov edx, dword [esp + 0x68]
add edx, dword [esp + 0x54]
mov esi, edi
push edx
push 0x21
call fcn.00454e8a
add esp, 0xc
jmp 0x4ae020
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*8]
mov edx, dword [ebp + 8]
push ecx
push edx
call fcn.004a85ea
mov ecx, dword [edi]
mov eax, dword [edi + 0x20]
add esp, 0xc
cmp byte [ecx + 0x40], 0
je 0x4ae0d0
mov eax, 0x100b83f8
jmp 0x4ae0e2
lea edx, [eax + eax*4 - 5]
mov eax, dword [edi + 4]
lea eax, [eax + edx*4]
test eax, eax
je 0x4ae020
cmp byte [eax], 0x1c
jne 0x4ae020
mov esi, dword [esp + 0x10]
test byte [esi + 0x2c], 0x10
jne 0x4ae110
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
mov byte [esp + 0x2b], 1
mov byte [eax], 0x46
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
jmp 0x4ae17b
mov ecx, dword [edi + 0x20]
add ecx, 2
push ecx
push ebx
push 0x4c
mov esi, edi
call fcn.00454e8a
add esp, 0xc
push ebx
push 0x26
call fcn.00454eea
add esp, 8
jmp 0x4ae177
mov edx, dword [esp + 0x10]
test byte [edx + 0x2c], 0x10
jne 0x4ae164
cmp byte [esp + 0x4b], 0
jne 0x4ae164
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
push eax
push ebx
push ecx
push 0x46
mov esi, edi
call fcn.0044e1fa
add esp, 0x10
mov byte [esp + 0x2b], 1
jmp 0x4ae177
mov ebx, dword [esp + 0x38]
push ebx
push 0
push 0x1c
mov esi, edi
call fcn.00454e8a
add esp, 0xc
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x40], 0
jle 0x4ae1d7
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ecx
cmp dword [edx + 0x54], ecx
jg 0x4ae1b0
push eax
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae1d7
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
inc dword [eax + 0x20]
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x86
xor eax, eax
xor edx, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
cmp dx, word [esi + 0x26]
jge 0x4ae2ad
mov dword [esp + 0x38], eax
jmp 0x4ae1fa
mov edx, dword [esp + 0x18]
movsx ecx, word [esi + 0x24]
mov eax, dword [esp + 0x60]
add eax, edx
xor ebx, ebx
mov dword [esp + 0x40], eax
cmp edx, ecx
jne 0x4ae251
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x4ae22a
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae28f
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1d
jmp 0x4ae28f
cmp dword [ebp + 0x14], ebx
jne 0x4ae320
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x38]
test byte [eax + ecx + 0x17], 2
je 0x4ae318
inc dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x38]
mov edi, dword [eax + ecx + 4]
mov ebx, dword [esp + 0x40]
mov eax, dword [ebp + 8]
call fcn.004aac6a
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
movsx edx, word [esi + 0x26]
add dword [esp + 0x38], 0x18
inc eax
mov dword [esp + 0x18], eax
cmp eax, edx
jl 0x4ae1fa
test byte [esi + 0x2c], 0x10
je 0x4ae4bd
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4ae2d9
mov ecx, dword [esp + 0x24]
lea esp, [esp]
cmp dword [eax], ecx
je 0x4ae2d5
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x4ae2ca
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 8]
push esi
call fcn.0047beea
movsx ebx, word [esi + 0x26]
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
add esp, 4
add ebx, 2
cmp dword [eax + 0x54], esi
jg 0x4ae408
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
je 0x4ae408
mov eax, 1
xor ebx, ebx
jmp 0x4ae439
mov esi, edx
sub esi, dword [esp + 0x3c]
jmp 0x4ae33d
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
xor esi, esi
test ecx, ecx
jle 0x4ae345
mov eax, dword [eax]
add eax, 4
cmp dword [eax], edx
je 0x4ae33d
inc esi
add eax, 8
cmp esi, ecx
jl 0x4ae331
test esi, esi
js 0x4ae270
cmp dword [esp + 0x30], 0
je 0x4ae270
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4ae360
cmp esi, dword [eax + 4]
jge 0x4ae270
cmp byte [esp + 0x17], 0
je 0x4ae3b5
mov ebx, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], ebx
jg 0x4ae383
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae28f
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x44]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x40]
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0x2e
jmp 0x4ae28f
cmp dword [ebp + 0x10], 0
je 0x4ae3e4
mov edx, dword [esp + 0x60]
cmp dword [esp + 0x64], edx
je 0x4ae28f
mov eax, dword [esp + 0x40]
add esi, dword [esp + 0x64]
push eax
push esi
push 0x22
mov esi, edi
call fcn.00454e8a
add esp, 0xc
jmp 0x4ae28f
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 8]
lea eax, [esi + esi*2]
mov eax, dword [edx + eax*8]
push eax
push ecx
call fcn.004a85ea
add esp, 0xc
jmp 0x4ae28f
mov eax, dword [edi + 4]
mov ecx, 1
add dword [edi + 0x20], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ebx
xor ebx, ebx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0xf
mov eax, esi
mov esi, dword [edi + 4]
mov edx, dword [edi]
cmp esi, ebx
je 0x4ae487
cmp byte [edx + 0x40], 0
jne 0x4ae487
cmp eax, ebx
jge 0x4ae450
mov eax, dword [edi + 0x20]
dec eax
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*4 + 0x10]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
mov edi, edx
call fcn.0044e00a
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x4c]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x4ae47d
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0
jmp 0x4ae487
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf6
inc dword [eax + 0xc]
mov edx, dword [ebp + 0x18]
cmp edx, 0xa
jne 0x4ae494
mov edx, 2
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x4ae4a5
mov eax, dword [edi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x198]
cmp eax, ebx
jne 0x4ae4b4
mov eax, ecx
mov byte [eax + 0x15], 1
jmp 0x4ae53f
cmp dword [esp + 0x50], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ebx, dword [esp + 0x80]
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
mov eax, dword [esp + 0x78]
setge cl
movzx edx, cl
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push 0
push ebx
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push esi
push eax
call fcn.004a86ea
mov eax, dword [ebp + 8]
add esp, 0x2c
push 0
push 0
push ebx
push 0
push esi
call fcn.0049e78a
movzx edx, byte [esp + 0x3f]
mov eax, dword [esp + 0x6c]
add esp, 0x14
xor ecx, ecx
cmp dword [esp + 0x34], ecx
sete cl
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x64]
push 0
push eax
mov eax, dword [ebp + 8]
push ebx
push ecx
push edx
push esi
push eax
call fcn.0045d2da
add esp, 0x24
mov ecx, dword [esp + 0x24]
test byte [ecx + 0x18], 0x80
mov esi, dword [esp + 0x60]
je 0x4ae591
mov ebx, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], ebx
jg 0x4ae565
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae591
mov edx, dword [edi + 4]
mov ecx, 1
add dword [edi + 0x20], ecx
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x25
cmp dword [esp + 0x68], 0
je 0x4ae5c7
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x18]
push eax
mov eax, dword [esp + 0x14]
movsx edx, word [eax + 0x26]
push ecx
mov ecx, dword [ebp + 8]
sub esi, edx
sub esi, 2
push esi
push eax
mov eax, dword [esp + 0x78]
push 2
push 0
push 0x6c
push eax
push ecx
call fcn.004b00aa
add esp, 0x24
mov ecx, dword [edi + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x1c]
js 0x4ae5e0
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x4ae5e0
mov esi, dword [edi + 0x20]
mov dword [edx + eax*4], esi
mov edx, dword [edi + 0x20]
dec edx
cmp byte [esp + 0x17], 0
mov dword [ecx + 0x58], edx
je 0x4ae699
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x4ae60a
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae635
mov edx, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x70]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 9
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jbe 0x4ae64a
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
mov dword [ecx + 0x58], eax
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x4ae670
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae6fd
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x44]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x3b
jmp 0x4ae6fd
cmp dword [ebp + 0x10], 0
je 0x4ae6fd
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x4ae6b7
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae6de
mov edx, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jbe 0x4ae6f3
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
mov dword [ecx + 0x58], eax
mov edx, dword [esp + 0x10]
test byte [edx + 0x2c], 0x10
jne 0x4ae7c3
cmp dword [esp + 0x74], 0
jne 0x4ae7c3
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x5c], eax
jge 0x4ae760
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x4ae738
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae760
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x5c]
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x3b
jmp 0x4ae762
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
cmp eax, ecx
je 0x4ae7c3
mov ebx, dword [esp + 0x6c]
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x4ae78d
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae7b1
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
xor ecx, ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax + 3], cl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x3b
jmp 0x4ae7b3
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x14]
inc ebx
mov dword [esp + 0x20], eax
cmp eax, ecx
jne 0x4ae775
mov esi, dword [ebp + 8]
cmp byte [esi + 0x12], 0
jne 0x4ae7de
cmp dword [esi + 0x19c], 0
jne 0x4ae7de
push esi
call fcn.00475bfa
add esp, 4
mov eax, dword [esp + 0x24]
test byte [eax + 0x18], 0x80
je 0x4ae87b
cmp byte [esi + 0x12], 0
jne 0x4ae87b
cmp dword [esi + 0x19c], 0
jne 0x4ae87b
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x4ae817
push edi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4ae844
mov eax, dword [edi + 4]
mov ecx, 1
add dword [edi + 0x20], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x7c]
xor ebx, ebx
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x23
jmp 0x4ae846
xor ebx, ebx
mov eax, 1
call fcn.0044df8a
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
cmp byte [eax + 0x40], bl
jne 0x4ad937
mov edx, dword [edx + 0x10]
push 1
push 0x100b0c4c
xor eax, eax
or ecx, 0xffffffff
call fcn.0045a5ca
add esp, 8
jmp 0x4ad937
mov ebx, eax
jmp 0x4ad93b
mov ebx, esi
jmp 0x4ad93b
push eax
call dword [0x100b7040]
mov ebx, dword [ebx + 0x200]
add esp, 4
add dword [ebx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebx + 0x10c]
jb 0x4ae8cd
cmp eax, dword [ebx + 0x110]
jae 0x4ae8cd
mov ecx, dword [ebx + 0x108]
mov dword [eax], ecx
dec dword [ebx + 0xf4]
mov dword [ebx + 0x108], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.004391da
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret